package com.smile.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smile.model.dto.request.*;
import com.smile.model.response.response.GetOnSiteInspectionDetailResponseDTO;
import com.smile.model.response.response.GetOnSiteInspectionListResponseDTO;

import java.util.concurrent.ExecutionException;

public interface OnSiteInspectionService {
    Page<GetOnSiteInspectionListResponseDTO> getOnSiteInspectionList(GetOnSiteInspectionListRequestDTO getOnSiteInspectionListRequestDTO) throws ExecutionException, InterruptedException;

    void onSiteInspectionService(AddOnSiteInspectionRequestDTO addOnSiteInspectionRequestDTO) throws Exception;

    GetOnSiteInspectionDetailResponseDTO getOnSiteInspectionDetail(GetOnSiteInspectionDetailRequestDTO getOnSiteInspectionDetailRequestDTO);

    void executeOnSiteInspection(ExecuteOnSiteInspectionRequestDTO executeOnSiteInspectionRequestDTO) throws Exception;

    void editOnsiteInspection(EditOnsiteInspectionRequestDTO editOnsiteInspectionRequestDTO);

    void delete(Long id);

    void deleteOnSiteInspectionByOrganizationId(Long id);
}
